原文連結:Debugging an ABAP Program
開發過程中免不了會遇到大大小小的bug,為了有效找出bug與他們的產地,一起來看如何在ABAP開發中使用debug mode吧!
當程式執行到設定好的中斷點,便會開啟debug模式,可以獨立觀察每一行以及每個變數的狀態,確保是否有非預期的行為發生。
雙擊或右鍵標示程式碼行數的地方,即可設定中斷點,記得要在active後才能設置中斷點。中斷點的設定會隨著user保留紀錄,不會因登出而消失。
執行到中斷點時,就會自動開啟debug介面,如下圖。可以從右上角的小圖示來回切換ABAP編輯器及Debug介面。
成功開啟debug介面後,有幾個重要工具方便我們檢查程式碼:
有一些中斷點並不是以行數作為中斷標準,根據不同中斷條件可分為三種:
語法中斷點(Statement Breakpoint):遇到特定ABAP語法時中斷,例如,在執行到"CLEAR"時中斷。可以透過中斷點視窗的下拉選單設定。
例外中斷點(Exception Breakpoint):遇到特定例外況時中斷,無論該例外是否引發runtime error。一樣在中斷點視窗的下拉選單設定。
sy-index > 20
的條件,則會在迴圈執行超過20次時才中斷。在中斷點列表的Condition
欄位可為中斷加入條件。當有非預期的變數值導致程式錯誤,你可以透過設定觀察點來檢查可能導致問題的變數,舉例而言,對要觀察的變數右鍵,並在跳出選單選擇Set Watchpoints
,該變數即可在中斷點列表內中追蹤。如同條件中斷點,也可以加上自定義的觀察條件。
可在Variables Views內直接查看單一變數、系統變數(如sy-index)等的值。以及可透過雙擊Internal Tables,進一步檢視儲存在表格裡的內容
在權限範圍內,可以在debug時變更變數值。像是修改單一變數,或者對Internal Tables變更列的值、插入列及刪除列。
接著來更深入介紹ABAP的Class!